1863C - MEX Repetition - CodeForces Solution


implementation

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
#define FAST cout.tie(0);cin.tie(0);ios::sync_with_stdio(0);
#define int long long
#define mm(x, v) memset(x, v, sizeof(x));
typedef long double ld;
typedef long long ll;
using namespace std;
int mod = 1e9 + 7;


int32_t main()
{
    FAST
    int tt; cin >> tt;
    while(tt--){
        int n,k; cin >> n >> k;
        int a[n + 10];
        int mp[n + 10];
        mm(mp, 0);
        int mex = 0;
        for(int i = 0;i < n; i++){
            cin >> a[i];
            mp[a[i]] = 1;
        }
        if(n == 1){
            if(a[0] != 0){
                cout << (k % 2 ? "0\n" : "1\n");
            }
            else{
                cout << (k % 2 == 0 ? "0\n" : "1\n");
            }
            continue;
        }
        for(int i = 0;i <= n; i++){
            if(!mp[i]){
                mex = i;
                break;
            }
        }
        int pre = a[0];
        a[0] = mex;
        int add = 0;
        int xx;
        for(int i = 1;i <= n; i++) {
            xx = a[i];
            a[i] = pre;
            pre = xx;
        }
        int ans[n];
        k--;
        for(int i = 0;i <= n; i++) ans[(k + i) % (n + 1)] = a[i];
        for(int i = 0;i < n; i++) cout << ans[i] << " ";
        cout << "\n";
    }

}


Comments

Submit
0 Comments
More Questions

1002. Find Common Characters
1602A - Two Subsequences
1555A - PizzaForces
1607B - Odd Grasshopper
1084A - The Fair Nut and Elevator
1440B - Sum of Medians
1032A - Kitchen Utensils
1501B - Napoleon Cake
1584B - Coloring Rectangles
1562B - Scenes From a Memory
1521A - Nastia and Nearly Good Numbers
208. Implement Trie
1605B - Reverse Sort
1607C - Minimum Extraction
1604B - XOR Specia-LIS-t
1606B - Update Files
1598B - Groups
1602B - Divine Array
1594B - Special Numbers
1614A - Divan and a Store
2085. Count Common Words With One Occurrence
2089. Find Target Indices After Sorting Array
2090. K Radius Subarray Averages
2091. Removing Minimum and Maximum From Array
6. Zigzag Conversion
1612B - Special Permutation
1481. Least Number of Unique Integers after K Removals
1035. Uncrossed Lines
328. Odd Even Linked List
1219. Path with Maximum Gold